package com.duoduo.admin.api.dto;

import java.time.LocalDateTime;
import java.util.List;

import com.duoduo.devtools.generator.CodeGenerator;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;

@Data
@Tag(name="系统菜单表")
public class SysMenuDTO {
	
	@Schema(description="菜单id")
	private Long id;
	@Schema(description="名称")
	private String name;
	@Schema(description="该路由对应页面的组件")
	private String component;
	
	@Schema(description="前端URL")
	private String path;
	@Schema(description="父菜单ID")
	private Long parentId;
	
	@Schema(description="meta:菜单名称")
	private String title;
	@Schema(description="meta:图标")
	private String icon;
	@Schema(description="meta:排序值 sort")
	private String sortOrder;
	@Schema(description="meta:缓存路由")
	private Integer keepAlive;
	@Schema(description="meta:true隐藏，false 开启")
	private Boolean hidden;
	@Schema(description="meta:禁用整个菜单")
	private Boolean disabled;
	@Schema(description="meta:菜单权限标识")
	private String permissions;
	@Schema(description="菜单类型菜单0 外部地址1 按钮2")
	private String type;
	@Schema(description="逻辑删除标记(0--正常 1--删除)")
	private Boolean delFlag;
	//跳转内部地址
	private String frameSrc;
	//跳转外部地址
	private String externalLink;
	@Schema(description="创建人")
	private String createBy;
	@Schema(description="创建时间")
	private LocalDateTime createTime;
	@Schema(description="修改人")
	private String updateBy;
	@Schema(description="更新时间")
	private LocalDateTime updateTime;
	
	private List<SysMenuDTO> children;
	
	public static void main(String[] args) {
		CodeGenerator codeGenerator = new CodeGenerator(SysMenuDTO.class);
		codeGenerator.generateClass();
	}
}
